const HtmlWebpackPlugin = require("html-webpack-plugin");
const path = require("path");
const pxtorem = require("postcss-pxtorem");
const htmlWebpackPlugin = new HtmlWebpackPlugin({
  title: "abc",
  // template:'./public/index.html',//指定源文件路径
  // filename:'./index.html'     //指定生成文件的存放路径
});
module.exports = {
  productionSourceMap: false,
  publicPath: "./",
  assetsDir: "static", // 静态资源目录
  lintOnSave: false,
  outputDir: "MEIDENPDA",
  devServer: {
    open: false, // 自动打开浏览器
    // host: "localhost", // 真机模拟，使用
    port: 8080, // 前台代理端口号
    https: false, // https： {type: Booleam}
    hotOnly: false, // 热更新
    proxy: {
      // 设置代理
      "/": {
        // target: 'http://10.20.183.48:4005',
        target: "http://10.10.100.34:2000",
        // target: 'http://10.20.183.201:5000',
        // target: 'http://10.10.230.115:4000',
        // target: 'http://10.10.180.87:80',
        // target: 'http://10.20.183.48:4005',
        // target: 'http://192.168.0.5:4005',
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          "^/": "",
        },
      },
      "/Transit_PLC": {
        // target: 'http://10.10.100.65:4000',
        target: "http://10.20.180.47:8702/Transit_PLC",
        // target: 'http://10.20.180.198:5087',
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          "^/Transit_PLC": "",
        },
      },
    },
  },
  productionSourceMap: false,
  // chainWebpack(config) {
  // 	// 移除打包后 index.html 所有打包好的文件都预加载行为
  // 	config.plugins.delete('preload');
  // 	config.plugins.delete('prefetch');
  // },
  configureWebpack: {
    entry: path.join(__dirname, "./src/main.js"), //打包入口修改为src目录下的index1.js
    output: {
      filename: `js/[name].${new Date().getTime()}.js`,
      chunkFilename: `js/[name].${new Date().getTime()}.js`,
    },
    // plugins: [htmlWebpackPlugin]
  },
  css: {
    extract: {
      filename: `css/[name].${new Date().getTime()}.css`,
      chunkFilename: `css/[name].${new Date().getTime()}.css`,
    },
    loaderOptions: {
      postcss: {
        sass: {
          //cli4 v8之后用prependData
          additionalData: `@import "@/assets/scss/common.scss";`,
        },
        // 按照设计稿750px 的 1/2
        plugins: [
          //   autoprefixer(),
          pxtorem({
            rootValue: 37.5, //计算公式为：设计稿宽度 / 10。假设设计稿为375px，即rootValue设为37.5，意味着每个 rem 单位对应设计稿中的 37.5px
            propList: ["*"], //设置需要转换的属性，*为所有都进行转换
            // 该项仅在使用 Circle 组件时需要
            // 原因参见 https://github.com/youzan/vant/issues/1948
            // selectorBlackList: ["van-circle__layer"],
          }),
        ],
        // plugins: [
        //   require("postcss-px-to-viewport")({
        //     unitToConvert: "px", // 要转化的单位
        //     viewportWidth: 375, // UI设计稿的宽度
        //     unitPrecision: 5, // 转换后的精度，即小数点位数
        //     propList: ["*"], // 指定转换的css属性的单位，*代表全部css属性的单位都进行转换
        //     viewportUnit: "vw", // 指定需要转换成的视窗单位，默认vw
        //     fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位，默认vw
        //     // landscapeUnit: 'vh',// 横屏时使用的单位
        //     // landscapeWidth: 667,// 横屏时使用的视口宽度
        //     selectorBlackList: [], // 指定不转换为视窗单位的类名
        //     minPixelValue: 1, // 默认值1，小于或等于1px则不进行转换
        //     mediaQuery: false, // 是否在媒体查询的css代码中也进行转换，默认false
        //     replace: true, // 是否转换后直接更换属性值
        //     // landscape: false, // 是否处理横屏情况
        //     exclude: /(\/|\\)(node_modules)(\/|\\)/, // 设置忽略文件，用正则做目录名匹配
        //   }),
        // ],
      },
    },
  },
};
